﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>EditorBookmarks</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>EditorBookmarks</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">структуры</a> |
<a href="../editorapi/index.html">Editor API</a>
</div>

<div class=shortdescr>
Структура <code>EditorBookmarks</code> используется в функции <a href="../service_functions/editorcontrol.html">EditorControl</a> для получения информации о закладках текущего редактируемого файла
(команда <a href="../service_functions/editorcontrol.html#ECTL_GETBOOKMARKS">ECTL_GETBOOKMARKS</a> или <a href="../service_functions/editorcontrol.html#ECTL_GETSESSIONBOOKMARKS">ECTL_GETSESSIONBOOKMARKS</a>).
</div>

<pre class=syntax>
struct EditorBookmarks
{
  size_t StructSize;
  size_t Size;
  size_t Count;
  intptr_t *Line;
  intptr_t *Cursor;
  intptr_t *ScreenLine;
  intptr_t *LeftPos;
};
</pre>

<h3>Элементы</h3>
<div class=descr>
  <div class=dfn>StructSize</div>
    <div class=dfndescr>Это поле должно содержать размер структуры <code>EditorBookmarks</code>. Перед использованием структуры плагин должен заполнить поле.</div>
  <div class=dfn>Size</div>
    <div class=dfndescr>Размер буфера в памяти, который выделил плагин для размещения запрашиваемой информации.</div>
  <div class=dfn>Count</div>
    <div class=dfndescr>Количество закладок.</div>
  <div class=dfn>Line</div>
    <div class=dfndescr>Указатель на массив номеров строк для каждой закладки.</div>
  <div class=dfn>Cursor</div>
    <div class=dfndescr>Указатель на массив позиций курсоров в строках <code>Line</code>.</div>
  <div class=dfn>ScreenLine</div>
    <div class=dfndescr>Указатель на массив номеров строк, соответствующих первой видимой строке текста на экране.</div>
  <div class=dfn>LeftPos</div>
    <div class=dfndescr>Указатель на массив позиций, соответствующих первому видимому символу текста на экране слева.</div>
</div>

<h3>Замечания</h3>
<div class=descr>
Перед получением информации о закладках, плагину необходимо выяснить размер запрашиваемых данных, для этого передайте <code>NULL</code> вместо ссылки на
структуру <code>EditorBookmarks</code> в команде <a href="../service_functions/editorcontrol.html#ECTL_GETBOOKMARKS">ECTL_GETBOOKMARKS</a> или <a href="../service_functions/editorcontrol.html#ECTL_GETSESSIONBOOKMARKS">ECTL_GETSESSIONBOOKMARKS</a>, например:
<pre class=code>
// узнаем размер
intptr_t size = Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,NULL);
if (!size)
  return FALSE;

// выделим соответствующий объем памяти
EditorBookmarks *newbm = (EditorBookmarks *)malloc(size);
if (!newbm)
  return FALSE;

// только теперь запрашиваем закладки
newbm->StructSize = sizeof(EditorBookmarks);
newbm->Size = size;
if (!Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,newbm))
{
  free(newbm);
  return FALSE;
}
</pre>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="index.html">структуры</a>
</div>

</body>
</html>